package system.task;

import lombok.Data;
import system.task.defined.TaskInstruction;
import system.task.defined.TaskRunStatus;
import system.task.defined.TaskStatus;

import java.io.Serializable;
import java.util.Date;

@Data
public class Task implements Serializable {

    /**
     * 任务名称
     */
    private String name;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 终止时间
     */
    private Date expireTime;

    /**
     * 任务群组
     */
    private String groupName;

//    /**
//     * 调度器名称
//     */
//    private String schedulerName;

    /**
     * 执行器: CLASS: | EXEC: | BEAN: | GET: | POST:
     */
    private String actuator;

    /**
     * 触发规则: CRON: | INTERVAL: | MANUAL:
     */
    private String schedule;

    /**
     * 触发异常规则: NOW | NEXT
     */
    private TaskInstruction instruction;

    /**
     * 参数列表
     */
    private String param;

    /**
     * 任务状态: 禁用/启用
     */
    private TaskStatus status;

    /**
     * 执行状态：加载/停止/运行中/异常
     */
    private TaskRunStatus runStatus;

    /**
     * 运行描述
     */
    private String runRemarks;

    /**
     * 最后运行开始时间
     */
    private Date runTimeStart;

    /**
     * 最后运行结束时间
     */
    private Date runTimeEnd;

    /**
     * 下次时间
     */
    private Date nextTime;

    /**
     * 上次时间
     */
    private Date prevTime;

    /**
     * 计划时间
     */
    private Date scheTime;

    /**
     * 最后装载时间
     */
    private Date loadTime;


}
